package test;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.*;

public class ExcelText {

    public static void write() throws Exception {
//在内存中创建一个Excel文件对象
        XSSFWorkbook excel = new XSSFWorkbook();
//创建Sheet页
//        XSSFSheet sheet = excel.createSheet("itcast");
        XSSFSheet sheet = excel.createSheet();
//在Sheet页中创建行，0表示第1行
        XSSFRow row1 = sheet.createRow(0);
//创建单元格并在单元格中设置值，单元格编号也是从0开始，1表示第2个单元格
        row1.createCell(0).setCellValue("姓名");
        row1.createCell(1).setCellValue("城市");
        XSSFRow row2 = sheet.createRow(1);
        row2.createCell(0).setCellValue("张三");
        row2.createCell(1).setCellValue("北京");
        XSSFRow row3 = sheet.createRow(2);
        row3.createCell(0).setCellValue("李四");
        row3.createCell(1).setCellValue("上海");
        FileOutputStream out = new FileOutputStream(new File("D:\\itcast.xlsx"));
//通过输出流将内存中的Excel文件写入到磁盘上
        excel.write(out);
//关闭资源
        out.flush();
        out.close();
        excel.close();
    }


    public static void read() throws IOException {
        FileInputStream in = new FileInputStream(new File("D:\\itcast.xlsx"));
//       通过输入流读取指定文件
        XSSFWorkbook excel = new XSSFWorkbook(in);
//    获取Excel文件的第一个sheet页
        XSSFSheet sheet = excel.getSheetAt(0);
//获取sheet页中的最后一行的行号
        int lastRowNum = sheet.getLastRowNum();
        for (int i = 0; i < lastRowNum; i++) {
            //获取sheet页中的总行数
            XSSFRow titleRow = sheet.getRow(i);
//        获取行的第二个单元格
            XSSFCell cell1 = titleRow.getCell(1);
            //获取单元格中的文本内容
            String cellValue1 = cell1.getStringCellValue();
            //获取行的第三个单元格
            XSSFCell cell2 = titleRow.getCell(2);
            String cellValue2 = cell2.getStringCellValue();
            System.out.println(cellValue1 + "" + cellValue2);
        }
        in.close();
        excel.close();
    }

    public static void main(String[] args) throws Exception {
        write();
        read();
    }

}


